﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using LeadVinaglue.Models;

namespace LeadVinaglue.Models.ViewPages
{
    public class ProductViewModel : BaseViewModel
    {
        public List<ProductItem> TopDocument { get; set; }
        public List<ProductItem> TopGallery { get; set; }
        public List<CategoryItemLink> NavigationBar { get; set; }
        public List<ProductListItem> ProductList { get; set; }
        public FilterViewModel Filters { get; set; }
        public TopLinkModel TopLinks { get; set; }

        public string RawURL { get; set; }
        public string FilterRawURL { get; set; }
        public int TotalProductList { get; set; }
    }

    public class TopLinkModel
    {
        public string NewLink { get; set; }
        public string ViewLink { get; set; }
        public string DownloadLink { get; set; }
        public string GalleryLink { get; set; }
    }

    public class FilterViewModel
    {
        public List<ItemLink> LanguageList { get; set; }
        public string LanguageSelected { get; set; }
        public List<ItemLink> DocumentTypeList { get; set; }
        public string DocumentSelected { get; set; }
        public List<ItemLink> TypeList { get; set; }
        public string TypeSelected { get; set; }
    }

    public class CategoryItemLink
    {
        public string Title { get; set; }
        public string LinkUrl { get; set; }
        public int Total { get; set; }
        public bool Selected { get; set; }
        public List<SubCategoryItemLink> SubItems { get; set; }
    }
    public class SubCategoryItemLink
    {
        public int CategoryId { get; set; }
        public string Title { get; set; }
        public string LinkUrl { get; set; }
        public bool Selected { get; set; }
        public int Total { get; set; }
    }

    public class ProductListItem
    {
        public string Title { get; set; }
        public string ImageUrl { get; set; }
        public string AttachFile { get; set; }
        public string LongDesc { get; set; }
        public string SortDesc { get; set; }
        public string LinkUrl { get; set; }
        public string FileType { get; set; }
        public string Username { get; set; }
        public string CreationDate { get; set; }
        public int Reviewed { get; set; }
        public int Downloaded { get; set; }
        public string Tags { get; set; }
        public int CategoryId { get; set; }
        public int SubCategoryId { get; set; }
        public string CategoryName { get; set; }
        public string SubCategoryName { get; set; }
    }
    public class TagLinkItem
    {
        public string Title { get; set; }
        public string LinkUrl { get; set; }
    }

    public class ProductDetailViewModel : BaseViewModel
    {
        public ProductListItem ProductDetail { get; set; }
        public List<CategoryItemLink> NavigationBar { get; set; }
        public int ProductId { get; set; }
        public List<ProductItem> TopGallery { get; set; }
        public List<ProductItem> TopDocument { get; set; }
        public List<ProductListItem> NewDocument { get; set; }
    }
}